package com.ruoyi.yp.domain.vo;

import java.math.BigDecimal;
import java.util.Date;

import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;



/**
 * 样品视图对象 yp_bs_yp
 *
 * @author zyb
 * @date 2024-03-29
 */
@Data
@ExcelIgnoreUnannotated
public class BsYpVo {

    private static final long serialVersionUID = 1L;

    /**
     * 样品id
     */
    @ExcelProperty(value = "样品id")
    private Long ypId;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String ypNum;

    /**
     * 样品分类
     */
    @ExcelProperty(value = "样品分类")
    private String ypClass;

    /**
     * 原材料进场台账id可以没有
     */
    @ExcelProperty(value = "原材料进场台账id可以没有")
    private Long tzId;

    /**
     * 样品描述
     */
    @ExcelProperty(value = "样品描述")
    private String ypDescribe;

    /**
     * 工程部位
     */
    @ExcelProperty(value = "工程部位")
    private String gcbw;

    /**
     * 分部分项名称
     */
    @ExcelProperty(value = "分部分项名称")
    private String fbfxmc;

    /**
     * 样品日期
     */
    @ExcelProperty(value = "样品日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date ypDate;
    private String ypDateStr;

    /**
     * 取样人
     */
    @ExcelProperty(value = "取样人")
    private String ypPerson;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String ypStatus;

    /**
     * 试验类型id
     */
    private Long syType;

    /**
     * 试验室id
     */
    private Long deptId;

    private Long inNum;
    /**
     * 进场时间
     */
    @ExcelProperty(value = "样品日期")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date inDate;
    private String inDateStr;
    /**
     * 存放位置 , 取样位置
     */
    private String location;
    /**
     * 批号
     */
    private String ph;
    /**
     * 被试验次数
     */
    private Long syTimes;
    /**
     * 状态
     */
    private String tzStatus;

    /**
     * 试验室名称
     */
    private String deptName;

    // 2024-6-3 excel中展示信息 补充

    /**
     * 样品状态excel中使用
     */
    private String yangpzt;
    /**
     * 样品数量excel中使用
     */
    private String yangpsl;
    /**
     * 样品名称excel中使用
     */
    private String yangpmc;

    /**
     * 代表数量 excel中使用
     */
    private String daibsl;

    /** ********************** */

    /**
     * 规格型号
     */
    @ExcelProperty(value = "规格型号")
    private String guigxh;
    /**
     * 产地厂家
     */
    @ExcelProperty(value = "产地厂家")
    private String chandcj;
    /**
     * 批号
     */
    @ExcelProperty(value = "批号")
    private String pih;

    public void setYpDate(Date ypDate) {
        this.ypDate = ypDate;
        this.ypDateStr = DateUtil.format(ypDate, "yyyy-MM-dd");
    }

    public void setInDate(Date inDate) {
        this.inDate = inDate;
        this.inDateStr = DateUtil.format(inDate, "yyyy-MM-dd");
    }

    private int rowNumber;
}
